SQL Serverにレコードを挿入するサンプルコード
サンプルコード
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Server=YOUR_SERVER_NAME;Database=YOUR_DATABASE_NAME;User Id=YOUR_USERNAME;Password=YOUR_PASSWORD;";
string insertQuery = "INSERT INTO YOUR_TABLE_NAME (Column1, Column2, Column3) VALUES (@Value1, @Value2, @Value3)";
try
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("SQL Serverに接続成功しました!");
using (SqlCommand command = new SqlCommand(insertQuery, connection))
{
command.Parameters.AddWithValue("@Value1", "SampleValue1");
command.Parameters.AddWithValue("@Value2", "SampleValue2");
command.Parameters.AddWithValue("@Value3", "SampleValue3");
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine($"{rowsAffected}件のレコードが挿入されました!");
}
}
}
catch (Exception ex)
{
Console.WriteLine($"エラーが発生しました: {ex.Message}");
}
}
}
説明
このコードは、C#を使用してSQL Serverにレコードを挿入する方法を示しています。
- 接続文字列: SQL Serverへの接続情報を記載します。
- INSERTクエリ: テーブルに新しいレコードを挿入するSQL文。
- パラメータ化クエリ: SQLインジェクションを防ぐためにパラメータを使用します。
- エラー処理: try-catchブロックでエラーに対応。
SQLインジェクションについて
SQLインジェクションは、悪意あるユーザーがデータベースを不正に操作する攻撃手法であり、以下のリスクがあります:
- データ漏洩: 重要な情報(個人情報、パスワードなど)が盗まれる。
- データ改ざん: データベース内の情報を変更されたり削除されたりする。
- 認証回避: ログイン画面などで認証を不正に回避される。
- システム破壊: データベースやアプリケーションを停止させる可能性。
これを防ぐために、以下を徹底しましょう:
- パラメータ化クエリやストアドプロシージャを使用。
- ユーザー入力を厳密に検証。
- 権限を必要最小限に設定。
- セキュリティパッチを最新に保つ。
キーワード
- SqlConnection: SQL Serverに接続するクラス。
- SqlCommand: SQLクエリを実行するクラス。
- ExecuteNonQuery: データを挿入、更新、または削除するクエリを実行。
- SQLインジェクション: データベース操作に関するセキュリティリスク。